<?php
/**
 * 此接口用于实现类别树的基本操作
 * @package	application.components
 * @copyright	Copyright (c) Tong Cheng Yi San Xing Network Technology Co.,Ltd. (http://www.dld.com)
 * @author     赵九贤
 * @version    版本号 1.0
 *
 */
interface ICategoryTreeD {
	
	/**
	 * 
	 * 查找当前节点的所有下一级节点
	 * @return	array
	 */
	public function getChildrenNodes();
	
	/**
	 * 
	 * 查找当前节点的父节点
	 * @return	mixed	结果为空返回NULL，否则返回CActiveRecord 
	 */
	public function getParentNode();
	
	/**
	 * 
	 * 获取下一个子类最大编号
	 * @return string
	 */
	public function getNextChildCode();
	
	/**
	 * 
	 * 将最大子编号 +1
	 * @return boolean
	 */
	public function setMixChildRise();
	
	/**
	 * 
	 * 添加一个节点/分类
	 * @param array $params
	 * @return boolean
	 */
	public function addNode(array $params);
	
	/**
	 * 
	 * 删除节点，以及其子节点的处理
	 * @return int -1 失败，正数影响的行数
	 */
	public function delNode();
	
	/**
	 * 
	 * 更新节点
	 * @param array $params	存放需要修改字段的关联数组
	 * @return boolean
	 */
	public function updateNode(array $params);
	/**
	 * 
	 * 判断某节点是否存在子节点
	 * @return boolean
	 */
	public function hasChildNode();
	
	/**
	 * 
	 * 设置启用或者禁用状态
	 * @return boolean
	 */
	public function setAvailable();
}